Today, consumers and other users are increasingly obtaining content such as movies, music, and games via electronic distribution instead of more traditional physical media. Further, with the proliferation of portable multimedia devices and larger, cheaper memories for storing content, users are more frequently requesting this content on devices such as mobile telephones, personal data assistants (PDAs), cable boxes, console and portable gaming systems, and other such devices. The capabilities of these devices vary, and a single method of delivering content is generally not sufficient. For example, a PC might be connected to the Internet, a cable box might be connected to a digital cable service, a personal data assistant might synchronize with a PC only when docked in a docking station, and a personal gaming device might only communicate with other devices via a wireless connection when the devices are within a given range, such as 10-20 feet.
A previous approach to addressing this issue involved distributing content over a peer to peer (P2P) network. P2P networks are distributed data networks without any centralized hierarchy or organization. P2P data networks provide a robust and flexible means of communicating information between large numbers of computers or other information devices, referred to in general as nodes. In an Internet Protocol (IP)-based P2P network, for example, a server generally is used to set up a peer-to-peer IP connection. This can be time consuming and cumbersome, as the server has to keep track of IP addresses and to enable the connection. The server is effectively contacted by all possible parties and the server thus holds IP addresses associated with all the parties. When one party wishes to call a second party to obtain content, the first party contacts the server. The server finds the current IP address associated with the second party, and the connection is be routed through the server. Other P2P networks establish connections in similar ways, as known in the art. Once a peer has received content, that peer can distribute that content to other peers that may have, at best, intermittent Internet connectivity, but are able to communicate with that peer via another communication protocol.
The issue of content distribution over a P2P network is especially problematic, however, when a large amount of content is desired to be made available to a large number of users at substantially the same time. For example, a summer blockbuster or new album from a popular artist might be made available for download at a scheduled time. It is possible that millions of users might want to download the content as soon as it is released, and any given user may further want to download the content to multiple devices. Digital distribution systems, particularly P2P systems, in general perform poorly when a large file of high demand content is first released, as it takes time to distribute the content to enough peers to handle millions of downloads. In existing peer to peer or server-based download systems, a new piece of content is usually distributed using direct one-to-one connections over the Internet. When demand for a piece of content is extremely high, such an approach requires a large amount of bandwidth to distribute the content to many download servers, or in the case of a P2P network, to get the content to a large enough group of peers to service those who have not yet received the content. Further, when using an IP-based connection, a user's upload speed is generally about ten times slower than the download speed, such that the P2P network has to have at least ten times as many people with the content as are requesting the content in order for the network to run at full speed.
It thus is desirable to provide an improved approach to distributing content to devices for a P2P network.